package com.huilian.iotbox.data.vo;

import com.huilian.iotbox.data.dto.QueryParam;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

@Data
public class DisplayRackItemVo extends QueryParam implements Serializable {
    private Long id;
    /**
     * 父展架ID
     */
    private Long displayRackId;
    /**
     * 层级，如第一层、第二层
     */
    private Integer hierarchy;

    /**
     * 货道，如货道1、货道2
     */
    private Integer freightLane;
    private Integer capacity;
    /**
     * 商品ID
     */
    private Long commodityId;
    /**
     * 库存数，在该展架一款商品总库存数
     */
    private Integer stock;

    private Boolean isDelete;
    private Date createTime;
    private Date updateTime;

    /**
     * 商品名称
     */
    private String goodsName;
    /**
     * 条形码
     */
    private String barCode;
    /**
     * 图片
     */
    private String fileName;
    /**
     * 分类
     */
    private String groupName;

    private String fullName;
    private BigDecimal costPrice;
    private List<CommoditySupplierVo> commoditySupplierVos = new ArrayList<>();
    private List<CommodityGroupVo> commodityGroupVos = new ArrayList<>();
    private Integer merchantStoreId;
    private Integer type;
    private Integer dstock;
    private String name;

    private Integer existStock;

    private Integer setGameCoin;
    /**
     * 游戏时间
     */
    private Integer gameTime;

    private Integer version;

    /**
     * 使能，0：启用 1：禁用
     */
    private Boolean enabled;
    /**
     * 多少币每局
     */
    private Integer gameCoin;

    private String award;

    private Integer reserveStock;

    /**
     * 预警库存
     */
    private Integer warnStock;

    /**
     * 是否启用库存预警
     */
    private Boolean enableWarnStock;

    /**
     * 设备id
     */
    private Integer deviceId;

    private Integer userId;

    private Integer tuiLiIncrement;

    /**
     * 质保期提醒
     */
    private Boolean enableWarnPeriodReminder;

    /**
     * 质保期，格式年月日时分秒
     */
    private Date warranty;


    /**
     * 别名，如第一层，第二货道就是 102
     */
    private String alias;

    /**
     * 商品名称
     */
    private String commodityName;

    private Integer freightLaneCount;
    private Integer capacityCount;
    private Integer stockCount;
    private Integer scarceStock;


    private Integer outOfStock;

    /**
     * 货道数
     */
    private Integer aisleNumber;

    private String deviceNo;

    /**
     * 检测电机成功数
     */
    private int normalNumberDetected;
    /**
     * 检测总数
     */
    private int totalNumberOfTests;

    private Boolean status;

    /**
     * 出货状态：0.待出货，1.成功，2.失败
     */
    private Integer shipmentStatus;

    private String storeName;

    private BigDecimal commodityStoreUpDownRetailPrice;

    private BigDecimal commodityStoreUpDownCostPrice;

    /**
     * 投币单价，扭蛋机用到
     */
    private Integer rateEach;
    /**
     * 售价
     */
    private BigDecimal retailPrice;
    /**
     * 投币单价，扭蛋机用到
     */
    private Integer driRateEach;
    /**
     * 仓位名称
     */
    private String locationName;
    /**
     * 分支详情ID
     */
    private Long displayRackItemId;

    /**
     * 缺少：总库存数量
     * */
    private Integer lackTotalStockNumber;

    private Boolean isVendmach;

    private Integer deviceTypeId;

    private Long commodityStoreUpDownId;

    private Integer totalStock;
    /**产品id*/
    private Integer productId;
}
